/**
*	ProteinEngine
*
*	@brief Includes all header files specific to the engine. Any application should only require
*		   including this one file.
*
*	@author William McVicar
*/

#pragma once

#ifndef __PROTEIN_ENGINE_H_INCLUDED__
#define __PROTEIN_ENGINE_H_INCLUDED__

//  Library Includes

//  Includes
#include "CommonDefines.h"
#include "BaseApplication.h"
#include "ProteinFramework.h"
#include "IPlatform.h"
#include "Clock.h"

#if defined( PROTEIN_PLATFORM_WINDOWS )
#include "FileSystemWin32.h"
#endif

#if defined( DX10 )
#include "Dx10Renderer.h"
#elif defined( DX11 )
#include "Dx11Renderer.h"
#elif defined( OPENGL )
#include "OpenGLRenderer.h"
#include "OpenGLTexture2D.h"
#endif

#include "loaders/ddsloader.h"
#include "Image.h"
#include "Mesh.h"
#include "Camera.h"

#include "Thread.h"
#include "XInputGamePad.h"

#if _MSC_VER == 1600
	#ifdef _DEBUG
		#pragma comment( lib, "ProteinVC100_d.lib" )
	#else
		#pragma comment( lib, "ProteinVC100.lib" )
	#endif //_DEBUG
#elif _MSC_VER == 1500
	#ifdef _DEBUG
		#pragma comment( lib, "ProteinVC90_d.lib" )
	#else
		#pragma comment( lib, "ProteinVC90.lib" )
	#endif //_DEBUG
#endif//_MSC_VER

#endif //__PROTEIN_ENGINE_H_INCLUDED__
